package com.example;

import cn.hutool.core.io.FileUtil;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.File;
import java.util.List;

@SpringBootTest
public class LearnFileUtil {

    @Test
    public void test1() {
        // 创建文件并写入内容
        File file = FileUtil.touch("E:\\IdeaProjects\\SpringBoot\\HutoolLearning\\src\\main\\java\\com\\example\\file\\example.txt");
        FileUtil.writeUtf8String("Hello, Hutool!", file);
    }

    @Test
    public void test2() {
        //  拷贝文件
        FileUtil.copy("E:\\IdeaProjects\\SpringBoot\\HutoolLearning\\src\\main\\java\\com\\example\\file\\example.txt", "E:\\IdeaProjects\\SpringBoot\\HutoolLearning\\src\\main\\java\\com\\example\\file\\copy.txt", true); // 覆盖已存在文件
    }

    @Test
    public void test3() {
        // 删除文件
        FileUtil.del("E:\\IdeaProjects\\SpringBoot\\HutoolLearning\\src\\main\\java\\com\\example\\file\\copy.txt"); // 删除
    }

    @Test
    public void test4() {
        // 读取文本内容（整篇 or 分行）
        String content = FileUtil.readUtf8String("E:\\IdeaProjects\\SpringBoot\\HutoolLearning\\src\\main\\java\\com\\example\\file\\example.txt");
        System.out.println(content);
        List<String> lines = FileUtil.readLines("E:\\IdeaProjects\\SpringBoot\\HutoolLearning\\src\\main\\java\\com\\example\\file\\example.txt", "UTF-8");
        System.out.println(lines);
    }

    @Test
    public void test5() {
        // 遍历目录下所有文件
        List<File> files = FileUtil.loopFiles("E:\\IdeaProjects\\SpringBoot\\HutoolLearning\\src\\test\\java\\com\\example");
        files.forEach(System.out::println);
    }

}
